The design of reliable high-speed software for a match engine (e.g., one that recognizes implied spread markets) poses a number of problems for a commodities exchange, and in particular to the software architect or program manager responsible for the implementation. Aspects of these problems include the complexity of the market, the speed at which the exchange must operate, and the need to quickly implement reliable electronic trading software.
The complexity of the market arises from, among other things, the large number of potential order combinations. For example, a single commodity with 72 delivery months has 2556 (72*71) potential spread contracts. For even the simplest implied markets where orders in two contracts imply an order in a third, there are 6,530,580 (2556*2555) possible combinations. As the number of contracts involved in the implication gets larger, the number of possible combinations grows exponentially. The problem is aggravated when multiple commodities are linked by intercommodity spreads that can also take part in implication, especially since different commodities can open and close at different times, thereby affecting which orders can take part in implication.
The speed of electronic commodities trading has increased by a factor of about a hundred since 2001. While in 2001 there might have been 5000 lots of Light Crude traded overnight on the New York Mercantile Exchange (NYMEX) electronic trading platform, by 2007, the daily volume could attain 500,000 lots or more. The growth in overall volume is likely to continue, given the ever-increasing demand for energy-related commodities.
During the period from 2001 to the present, many commodities exchanges have become publicly-traded companies subject to increased competition and investor scrutiny. The ability of an exchange to specify, design and test new electronic trading software is crucial in maintaining volume growth and its positive effect on shareholder value. This combination of high complexity, high speed and reduced time to market is coupled with an increased need for reliability. In 2001, electronic trading at NYMEX was an overnight service accounting for less than 10% of the volume traded. Orders were received at a rate of 1-2 per minute and a call-in number was available to assist traders with technical and business issues. By 2007, over 90% of the exchange's volume was traded electronically at an average message rate of over 100 per second. An outage that would have passed unnoticed in 2001 would now affect dozens of traders and millions of dollars in transactions.
These problems are common to modern exchanges, since the majority of their revenue comes from electronic trading and the cost of inaccurate calculations or lost business from system failures can be significant.